int、bigint、smallint、および tinyint (Transact

您所在的位置:网站首页 tinyint 长度 int、bigint、smallint、および tinyint (Transact

int、bigint、smallint、および tinyint (Transact

2024-02-01 06:44| 来源: 网络整理| 查看: 265

int、bigint、smallint、および tinyint (Transact-SQL) [アーティクル] 05/23/2023

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

整数データを使用する実数データ型です。 データベースの容量を節約するために、すべての可能な値を確実に含めることができる最小のデータ型を使用します。 たとえば、255 歳以上の人は誰もいきていないので、人の年齢には tinyint で十分でしょう。 しかし、255 年を超える建物はあり得るので、建物の経過年数には tinyint では不十分になります。

データ型 Range 範囲の表記 ストレージ bigint -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 -2^63 から 2^63-1 8 バイト int -2,147,483,648 ~ 2,147,483,647 -2^31 から 2^31-1 4 バイト smallint -32,768 ~ 32,767 -2^15 から 2^15-1 2 バイト tinyint 0 ~ 255 2^0-1 から 2^8-1 1 バイト 解説

Int データ型は、主要な整数データ型が SQL Serverです。 Bigint データ型が使用するための整数値でサポートされている範囲を超える可能性があるときに、 int データ型。

bigint 間に位置 smallmoney と int データ型の優先順位表でします。

関数を返します。 bigint 、パラメーター式が場合にのみ、 bigint データ型。 SQL Server その他の整数データ型を自動的に昇格しません (tinyint, 、smallint, 、および int) に bigintです。

注意事項

+、-、*、/、または % の算術演算子を使用して、int、smallint、tinyint、または bigint の定数値の暗黙的または明示的変換を実行して、float、real、decimal、または numeric データ型にした場合、データ型と式の精度の計算が行われるときに SQL Server に適用される規則は、クエリが自動パラメーター化されているかどうかに応じて異なります。

したがって、クエリで同じ式を使用しても異なる結果が得られることがあります。 クエリが自動でないと、定数の値が最初に変換 数値, の有効桁数が十分な指定のデータ型に変換する前に、定数の値を保持するためにします。 定数の値 1 に変換するなど、 numeric (1, 0) , 、定数値 250 に変換し、 numeric (3, 0) です。

クエリが自動パラメーター、定数の値が常に変換されます numeric (10, 0) から最終的なデータ型に変換します。 / 演算子を使用すると、同様のクエリで結果の型の有効桁数が異なるだけでなく、結果の値も異なる場合があります。 たとえば、SELECT CAST (1.0 / 7 AS float) という式が含まれる自動パラメーター化されたクエリの結果値と、自動パラメーター化されない同じクエリの結果値は異なります。これは、自動パラメーター化されたクエリの場合、numeric (10, 0) データ型に収まるように結果が切り捨てられるためです。

tinyint データ型は、Microsoft Fabric ではサポートされていません。

整数型データの変換

整数を暗黙的に文字データ型に変換するとき、整数が大きすぎて文字型フィールドに格納できない場合、ASCII 文字コード 42 のアスタリスク (*) が SQL Server によって入力されます。

2,147, 483,647 に変換されます。 よりも大きい整数の定数、 decimal データ型ではなく、 bigint データ型。 次の例は、しきい値を超過すると、結果のデータ型変更から、 int を decimalです。

SELECT 2147483647 / 2 AS Result1, 2147483649 / 2 AS Result2 ;

結果セットは次のようになります。

Result1 Result2 1073741823 1073741824.500000 例

次の例を使用してテーブルを作成、 bigint, 、int, 、smallint, 、および tinyint データ型。 値は各列に挿入され、SELECT ステートメントで返されます。

CREATE TABLE dbo.MyTable ( MyBigIntColumn BIGINT ,MyIntColumn INT ,MySmallIntColumn SMALLINT ,MyTinyIntColumn TINYINT ); GO INSERT INTO dbo.MyTable VALUES (9223372036854775807, 2147483647,32767,255); GO SELECT MyBigIntColumn, MyIntColumn, MySmallIntColumn, MyTinyIntColumn FROM dbo.MyTable;

結果セットは次のようになります。

MyBigIntColumn MyIntColumn MySmallIntColumn MyTinyIntColumn -------------------- ----------- ---------------- --------------- 9223372036854775807 2147483647 32767 255 (1 row(s) affected) 関連項目

ALTER TABLE (Transact-SQL) CAST および CONVERT (Transact-SQL) CREATE TABLE (Transact-SQL) DECLARE @local_variable (Transact-SQL) SET @local_variable (Transact-SQL) sys.types (Transact-SQL)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3